package com.xu.cloud.auth.service;

import com.xu.cloud.auth.pojo.http.LoginResp;
import com.xu.cloud.auth.pojo.http.MessageCodeLoginReq;
import com.xu.cloud.auth.pojo.http.PasswordLoginReq;
import com.xu.cloud.auth.pojo.http.ThirdPartyLoginReq;

/**
 * login service
 *
 * @author xuguan
 * @since 2025/2/23
 */
public interface LoginService {

    /**
     * 密码登录
     */
    LoginResp passwordLogin(PasswordLoginReq req);

    /**
     * token登录
     */
    LoginResp tokenLogin(String accessToken);

    /**
     * 短信验证码登录
     */
    LoginResp messageCodeLogin(MessageCodeLoginReq req);

    /**
     * 第三方登录
     */
    LoginResp thirdPartyLogin(ThirdPartyLoginReq req);
}
